#include <windows.h>
#include <tchar.h>
#include "./gaussianwnd.h"

using namespace MiniUI;

void MessageLoop(MSG &msg);

int APIENTRY _tWinMain(HINSTANCE hInstance,
					   HINSTANCE hPrevInstance,
					   LPWSTR lpCmdLine,
					   int nShowCmd)
{
	GaussianWnd pWnd;

	MSG msg = {0};
	MessageLoop(msg);

	return (int)msg.wParam;
}

void MessageLoop(MSG &msg)
{
	for (;;)
	{
		if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
		{
			if (msg.message == WM_QUIT)
			{
				break;
			}
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		else
		{
			//OnIdle
			::WaitMessage();
		}
	}
}